home *** CD-ROM | disk | FTP | other *** search
/ CU Amiga Super CD-ROM 23 / CU Amiga - Super CD-ROM 23 (June 1998).iso / CreatingGames / Utilities / Misc / GMS / GMSDev / Source / Asm / System / ListReferences.s < prev    next >
Encoding:
Text File  |  1997-12-15  |  3.1 KB  |  118 lines

  1. ;-------T-------T------------------------T----------------------------------;
  2. ;Name:      Run Segment.
  3. ;Author:    Paul Manias
  4. ;Copyright: DreamWorld Productions (c) 1996-1997.  Freely distributable.
  5. ;
  6. ;This demo lists system references in the IceBreaker window.
  7.  
  8.     INCDIR    "GMSDev:Includes/"
  9.     INCLUDE    "dpkernel/dpkernel.i"
  10.     INCLUDE    "system/debug.i"
  11.     INCLUDE    "system/globalbase.i"
  12.     INCLUDE    "system/misc.i"
  13.     INCLUDE    "files/segments.i"
  14.  
  15.     SECTION    "Demo",CODE
  16.  
  17. ;===========================================================================;
  18. ;                             INITIALISE DEMO
  19. ;===========================================================================;
  20.  
  21.     STARTDPK
  22.  
  23. Start:    MOVEM.L    A0-A6/D1-D7,-(SP)
  24.     move.l    DPKBase(pc),a6
  25.  
  26.     move.l    gb_ReferenceDir(a6),a0
  27.     cmp.l    #$00,a0
  28.     beq.s    .Exit
  29.     bsr.s    PrintDirectory
  30.  
  31.     move.l    DPKBase(pc),a6
  32.     move.l    gb_ReferenceList(a6),a0
  33.     bsr.s    PrintReferences
  34.  
  35. .Exit    MOVEM.L    (SP)+,A0-A6/D1-D7
  36.     moveq    #ERR_OK,d0
  37.     rts
  38.  
  39. ;===========================================================================;
  40. ;                         PRINT DIRECTORY STRUCTURE
  41. ;===========================================================================;
  42.  
  43. PrintDirectory:
  44.     moveq    #DBG_Message,d7    ;d7 = Message.
  45.     lea    .message(pc),a5
  46.     CALL    DebugMessage    ;>> = Send the message.
  47.  
  48.     move.l    a0,a4
  49.     move.l    DIR_ChildDir(a0),a0    ;a0 = DirList.
  50. .dirlp    cmp.l    #$00,a0
  51.     beq.s    .filelist
  52.     moveq    #DBG_Message,d7    ;d7 = Message.
  53.     move.l    DIR_Source(a0),a1    ;a1 = FileName.
  54.     move.l    FN_Name(a1),a5    ;a5 = Name of file.
  55.     CALL    DebugMessage    ;>> = Send the message.
  56.     move.l    DIR_Next(a0),a0    ;a0 = Next directory.
  57.     bra.s    .dirlp    ;>> = Keep looping.
  58.  
  59. .filelist
  60.     move.l    a4,a0    ;a0 = Directory.
  61.     move.l    DIR_ChildFile(a0),a0    ;a0 = DirList.
  62. .filelp    cmp.l    #$00,a0
  63.     beq.s    .end
  64.     move.l    DIR_Source(a0),a1    ;a1 = FileName.
  65.     move.l    FN_Name(a1),a5    ;a5 = Name of file.
  66.     moveq    #DBG_Message,d7    ;d7 = Message.
  67.     CALL    DebugMessage    ;>> = Send the message.
  68.     move.l    DIR_Next(a0),a0    ;a0 = Next directory.
  69.     bra.s    .filelp    ;>> = Keep looping.
  70. .end    rts
  71.  
  72. .message
  73.     dc.b    "Printing reference files.",0
  74.     even
  75.  
  76. ;===========================================================================;
  77. ;                          PRINT OBJECT REFERENCES
  78. ;===========================================================================;
  79.  
  80. PrintReferences:
  81.     cmp.l    #$00,a0
  82.     beq.s    .noref
  83.  
  84.     moveq    #DBG_Message,d7    ;d7 = Message.
  85.     lea    .message(pc),a5
  86.     CALL    DebugMessage    ;>> = Send the message.
  87. .loop    cmp.l    #$00,a0
  88.     beq.s    .end
  89.     move.l    REF_ObjectName(a0),a5
  90.     moveq    #DBG_Message,d7    ;d7 = Message.
  91.     CALL    DebugMessage    ;>> = Send the message.
  92.     move.l    REF_Next(a0),a0
  93.     bra.s    .loop
  94. .end    rts
  95.  
  96. .noref    moveq    #DBG_Message,d7    ;d7 = Message.
  97.     lea    .noreferences(pc),a5
  98.     CALL    DebugMessage    ;>> = Send the message.
  99.     rts
  100.  
  101. .message
  102.     dc.b    "Printing system references.",0
  103.     even
  104.  
  105. .noreferences
  106.     dc.b    "No references declared by system.",0
  107.     even
  108.  
  109. ;===========================================================================;
  110.  
  111. ProgName:    dc.b  "List References",0
  112. ProgAuthor:    dc.b  "Paul Manias",0
  113. ProgDate:    dc.b  "8 October 1997",0
  114. ProgCopyright:    dc.b  "DreamWorld Productions (c) 1996-1997.  Freely distributable.",0
  115. ProgShort:    dc.b  "Lists all system reference files.",0
  116.         even
  117.  
  118.